// const http = uni.$u.http

// post请求，获取菜单
// export const postMenu = (params, config = {}) => http.post('/ebapi/public_api/index', params, config)

// get请求，获取菜单，注意：get请求的配置等，都在第二个参数中，详见前面解释
// export const getMenu = (data) => http.get('/ebapi/public_api/index', data)

module.exports = (vm) => {
	//注意请求的时候参数放在请求头和请求体的内容是不一样的 请求头 需要外套一层{}  请求体则不需要 来用于区分
	
	
	//先声明api这个变量
	uni.$u.api={};
	//首页
	uni.$u.api.index = (params = {})=> uni.$u.http.get('/api/index', {'params':params});
	
	//认证相关的
	//登录
	uni.$u.api.authLogin = params=> uni.$u.http.post('/api/auth/login', params);
	
	//注册
	uni.$u.api.authRegister = params=> uni.$u.http.post('/api/auth/register', params);
	
	//退出登录
	uni.$u.api.authLogout = ()=> uni.$u.http.post('/api/auth/logout'); 
	
	//获取osstoken
	uni.$u.api.authOsstoken = () => uni.$u.http.get('/api/auth/oss/token');
	
	
	//用户相关的
	//获取用户信息	
	uni.$u.api.userInfo = () => uni.$u.http.get('/api/user');
	
	//更改用户信息
	uni.$u.api.updateUserInfo = params=> uni.$u.http.put('/api/user', params);
	
	//更新头像
	uni.$u.api.updateAvatar = params=> uni.$u.http.post('/api/user/avatar', params);
	
	//商品相关的
	//获取指定商品的相关信息
	uni.$u.api.getGoodsDetail = id => uni.$u.http.get(`/api/goods/${id}`);
	
	//获取商品相关数据 ,因为params是在请求头中的请求参数
	uni.$u.api.getGoodsList = (params = {}) => uni.$u.http.get('/api/goods',{'params':params})
	//收藏和取消收藏
	uni.$u.api.isCollect = id => uni.$u.http.post(`/api/collects/goods/${id}`);
	
	//我的收藏
	uni.$u.api.collectList = id => uni.$u.http.get(`/api/collects/`);
	
	
	
	//购物车
	//获取购物车商品
	uni.$u.api.cartGoods = () => uni.$u.http.get(`/api/carts?include=goods`);
	
	//添加商品到购物车
	uni.$u.api.addCart = params => uni.$u.http.post('/api/carts',params);
	
	//将商品选中与否
	uni.$u.api.isCheck = cart_ids => uni.$u.http.patch(`/api/carts/checked`,{cart_ids});
	
	//将商品移出购物车
	uni.$u.api.delCartGoods = cart => uni.$u.http.delete(`/api/carts/${cart}`);
	
	//购物车商品数量改变
	uni.$u.api.numChange = (cart,num) => uni.$u.http.put(`/api/carts/${cart}`,{num});
	
	
	//地址相关
	//地址列表
	uni.$u.api.addressList = () => uni.$u.http.get('/api/address');
	
	//单个地址详情
	uni.$u.api.addressOne = id => uni.$u.http.get(`/api/address/${id}`);
	
	//添加地址
	uni.$u.api.addressAdd = params =>  uni.$u.http.post('/api/address',params);
	
	//修改地址
	uni.$u.api.addressUpdate = (id,params) =>  uni.$u.http.put(`/api/address/${id}`,params);
	
	// 删除地址
	uni.$u.api.addressDelete = (id) =>  uni.$u.http.delete(`/api/address/${id}`);
	


	//订单相关
	//订单列表
	uni.$u.api.orderList =  (params = {}) => uni.$u.http.get('/api/orders',{'params':params})
	
}